<%@ WebHandler Language="C#" Class="CoralNode.MvcClient.Themes.CoralAdmin._misc.scripts.ueditor.net.imageUp" %>

using System;
using System.Web;
using System.Collections;
using System.Linq;
using CoralNode.MvcClient.Contexts;


namespace CoralNode.MvcClient.Themes.CoralAdmin._misc.scripts.ueditor.net
{
    public class imageUp : IHttpHandler
    {
        public void ProcessRequest(HttpContext context) {
            if (!String.IsNullOrEmpty(context.Request.QueryString["fetch"])) {
                try
                {
                    context.Response.AddHeader("Content-Type", "text/javascript;charset=utf-8");
                    context.Response.Write(String.Format("updateSavePath([{0}]);", String.Join(", ", UeditorConfig.ImageSavePath.Select(x => "\"" + x + "\""))));
                    return;
                }
                catch (Exception ex)
                {
                   
                }
                
            }

            context.Response.ContentType = "text/plain";

            //上传配置
            int size = 2;           //文件大小限制,单位MB                             //文件大小限制，单位MB
            string[] filetype = { ".gif", ".png", ".jpg", ".jpeg", ".bmp" };         //文件允许格式


            //上传图片
            Hashtable info = new Hashtable();
            Uploader up = new Uploader();

            string path = up.getOtherInfo(context, "dir");
            if (String.IsNullOrEmpty(path)) {
                path = UeditorConfig.ImageSavePath[0];
            } else if (UeditorConfig.ImageSavePath.Count(x => x == path) == 0) {
                context.Response.Write("{ 'state' : '非法上传目录' }");
                return;
            }

            info = up.upFile(context, path, filetype, size);                   //获取上传状态

            string title = up.getOtherInfo(context, "pictitle");                   //获取图片描述
            string oriName = up.getOtherInfo(context, "fileName");                //获取原始文件名


            HttpContext.Current.Response.Write("{'url':'" + info["url"] + "','title':'" + title + "','original':'" + oriName + "','state':'" + info["state"] + "'}");  //向浏览器返回数据json数据
        }

        public bool IsReusable {
            get {
                return false;
            }
        }

    }
}